package tech.aistar.day07;

/**
 * 本类用来演示: 1. String和基本数据类型以及包装类型三者之间的相互转换
 *
 * @author: success
 * @date: 2022/7/26 3:36 下午
 */
public class IntegerDemo {
    public static void main(String[] args) {
        Integer i = new Integer("10");//java.lang.NumberFormatException
        Integer j = new Integer(10);//int->Integer
        System.out.println(i==j);//false

        //结论 - 包装类型和基本数据类型在比较的时候,包装类型会自动转换成基本数据类型
        int x = 10;
        //j.intValue();
        System.out.println(j == x);//true

        //jdk5.0开始支持自动解封箱
        //封箱 - 基本数据类型自动转换成包装类型
        //[-127,128]之间都是返回true
        Integer m = 127; // Integer m = Integer.valueOf(m);
        Integer n = 127;
        System.out.println(m == n);//false

        System.out.println(Integer.valueOf(300) == Integer.valueOf(300));//false

        //解箱 - 包装类型自动转成基本数据类型
        int t1 = m; // 自动解箱 // intValue方法

        int m1 = Integer.parseInt("128");
        System.out.println(m1);
    }
}
